﻿#ifndef PLUGINMANAGER_H
#define PLUGINMANAGER_H
#include "devlibgloabal.h"
#include <QMap>
class IDevicePlugin;


class DEVLIB_EXPORT DevicePluginManager
{
public:
    static DevicePluginManager *getInstance() {
        static DevicePluginManager instance;
        return &instance;
    }

private:
    DevicePluginManager();
    ~DevicePluginManager();

public:
    void loadAllPlugin();
    IDevicePlugin* loadPlugin(const QString &name);
    IDevicePlugin* getPlugin(const QString &name);
    void releasePlugin();

public:
    //------name-------plugin
    QMap<QString, IDevicePlugin*> m_plugins;

};

#endif // PLUGINMANAGER_H
